<?php


namespace Part24_IntermediaryModel\Code3;


abstract class Manager
{
    protected $name;

    /**
     * @var Manager 管理者的上级
     */
    protected $superior;

    public function __construct($name)
    {
        $this->name = $name;
    }

    /**
     * 设置管理者的上级
     * @param $superior Manager
     */
    public function setSuperior($superior)
    {
        $this->superior = $superior;
    }

    /**
     * 申请请求
     * @param $request Request
     * @return mixed
     */
    abstract function requestApplications($request);
}